/*
所谓的水仙花数是指一个n位的正整数其各位数字的n次方的和等于该数本身，
例如153=1^3+5^3+3^3,153是一个三位数
输入描述
    第一行输入一个整数N，
    表示N位的正整数N在3-7之间包含3,7
    第二行输入一个正整数M，
    表示需要返回第M个水仙花数
输出描述
    返回长度是N的第M个水仙花数，
    个数从0开始编号，
    若M大于水仙花数的个数返回最后一个水仙花数和M的乘积，
    若输入不合法返回-1

示例一：

    输入
      3
      0
    输出
      153
    说明：153是第一个水仙花数
  示例二：
    输入
    9
    1
    输出
    -1
  */

let n = 3,index = 0;
const ttt = (n,index) => {
  if(n<3 || n>7){
    console.log(-1);
    return;
  }

  const start = Math.pow(10,n-1);
  const end = Math.pow(10,n)-1;
  let arrresult = -1;
  let count = -1;
  for(let i = start;i<end;i++){
    let temp = 0,num = i,sum = 0;
    for(let j = 0;j<n;j++){
      temp = num%10;
      sum = sum + Math.pow(temp,n);
      num = (num-temp)/10
    }
    if(sum === i){
      count++
      if(count === index){
        arrresult = sum;
        break;
      }
      
    }
  }
  console.log(arrresult)
}
ttt(3,0)

